package com.spring.shops.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.spring.shops.model.entity.TzOrderItem;
import com.spring.shops.model.entity.TzUserAddrOrder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderRecordsVo {
    private Long orderId;
    private Long shopId;
    private String prodName;
    private String userId;
    private String orderNumber;
    private BigDecimal total;
    private BigDecimal actualTotal;
    private Integer payType;
    private String remarks;
    private Integer status;
    private String dvyType;
    private Long dvyId;
    private String dvyFlowId;
    private BigDecimal freightAmount;
    private Long addrOrderId;
    private Integer productNums;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dvyTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date finallyTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cancelTime;
    private Byte isPayed;
    private Integer deleteStatus;
    private Integer refundSts;
    private BigDecimal reduceAmount;
    private List<TzOrderItem> OrderItems;
    private TzUserAddrOrder userAddrOrder;
    private String shopName;

    public OrderRecordsVo(Long orderId, Long shopId, String prodName, String userId, String orderNumber, BigDecimal total, BigDecimal actualTotal, Integer payType, String remarks, Integer status, String dvyType, Long dvyId, String dvyFlowId, BigDecimal freightAmount, Long addrOrderId, Integer productNums, Date createTime, Date updateTime, Date payTime, Date dvyTime, Date finallyTime, Date cancelTime, Byte isPayed, Integer deleteStatus, Integer refundSts, BigDecimal reduceAmount) {
        this.orderId = orderId;
        this.shopId = shopId;
        this.prodName = prodName;
        this.userId = userId;
        this.orderNumber = orderNumber;
        this.total = total;
        this.actualTotal = actualTotal;
        this.payType = payType;
        this.remarks = remarks;
        this.status = status;
        this.dvyType = dvyType;
        this.dvyId = dvyId;
        this.dvyFlowId = dvyFlowId;
        this.freightAmount = freightAmount;
        this.addrOrderId = addrOrderId;
        this.productNums = productNums;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.payTime = payTime;
        this.dvyTime = dvyTime;
        this.finallyTime = finallyTime;
        this.cancelTime = cancelTime;
        this.isPayed = isPayed;
        this.deleteStatus = deleteStatus;
        this.refundSts = refundSts;
        this.reduceAmount = reduceAmount;
    }
}
